1. Field of the Invention
This invention relates to a document editing system and method for editing a document including image data.
2. Description of the Related Art
In a conventional document editing system, a document which includes not only text data but also image data mixed in text data can be edited. Such a document editing system is realized by operating document-editing application software capable of mixing image data in text data, in a personal computer.
FIG. 14 is a diagram illustrating a conventional document editing system. A description of the conventional document editing system is provided with reference to FIG. 14. In FIG. 14, blocks constituting the document editing system which are required for the system but are not directly necessary for describing the conventinal system are not illustrated.
In FIG. 14, reference numeral 301 represents the hardware of the document editing system. The hardware 301 includes a display device 304 including a display unit, such as a CRT (cathode-ray tube), a video board, an input device 306 such as a mouse, a keyboard, a main storage device 307 such as a DRAM (dynamic random access memory) and the like, and a secondary storage device 308 which is a nonvotatile storage device such as a hard-disk drive and hard disks.
An operating system 302 performs total control for effectively utilizing the hardware 301 and an application software group 303 in the document editing apparatus. The operating system 302 simultaneously executes a plurality of application software, such as Windows.RTM.95 which is an operating system of the Microsoft.RTM.Corporation, and simultaneously displays a plurality of windows, serving as user interfaces of respective applications, on the display device 304.
In the operating system 302, a drawing control system 314 displays requested characters, figures, images or other information on the display device 304 in response to a request from certain application software included in the application software group 303. An input-device control system 315 transmits the user's event input via the input device 306 to an appropriate software module of the system. A memory control system 316 controls reading/writing of data from/to the main storage device 307. A filing system 317 controls files in the secondary storage device 308.
An inter-application communication function 318 allows data transmission/reception between applications within the application software group 303, start of another application, and the like. The OLE2 technology of the Microsoft Corporation is a typical inter-application communication technique. In the application software group 303, reference numeral 319 represents a document editing application. The document editing application 319 is configured by a data preserving/reading function 322 for preserving and reading document data edited by the user, an image-editing-result displaying function 323 for receiving display data of an image edited in an image editing application 321 from the image editing application 321 by inter-application communication, and displaying the display data on the display device 304 by asking the drawing control system 314, and an image-editing-application starting function 324 for starting the image editing application 321 by inter-application communication in response to a command input from the user, and other functions which are not clearly shown in FIG. 14, such as a text-data editing function and the like.
An image filing application 320 facilitates retrieval of a large number of files stored in the secondary storage device 308. The image filing application 320 transmits image data of an image data file assigned by the user from among an image data file group 330 of the secondary storage device 308 to the document editing application 319 and the image editing application 321 by inter-application communication function 318 in accordance with the user's assignment. The image editing application 321 performs image processing, such as gradation, color adjustment and the like, for an original image, and image editing, such as drawing of a figure in the original image, and the like. The image editing application 321 is configured by an image-data mapping function 325 for mapping an image received from the image filing application 320 onto the existing image; a data preserving/reading function 326 for writing/reading image data to/from the secondary storage device 308; a user-interface controlling function 327 for controlling display of an image, menus, the framework of an application, and the like on the display device 304, and the user's event from the input device 306; an image editing function group 328 including a plurality of image editing functions, such as the provision of various kinds of image processing filters for gradation, luminance adjustment, color adjustment and the like; and the provision of drawing tools for lines, characters and the like; an image-editing executing function 331 for executing an image editing function from among the image editing function group 328 in accordance with the user's input command; and other functions which are not shown in FIG. 14.
In the above-described configuration, in the OLE2 technology, an image editing application present at the side of supplying data by inter-application communication is called an "OLE server", and a document editing application present at the side of receiving data by inter-application communication is called an "OLE container".
Reference numeral 329 represents a document data file in the secondary storage unit 38, which is edited by the document editing application 319, and has a data structure as shown in FIG. 15. The document data shown in FIG. 15 is usually document data edited by the user, but may be a document supplied from the software developer provided as a sample when word-processor software is purchased.
In FIG. 15, a header-data storing portion 401 stores information, such as the font and colors of each text, the size of a sheet when printing the text, the direction of writing of the text (vertically written or horizontally written), and the like. A text-data storing portion 402 stores text data input by users or the software developer. An image-editing-application-data storing portion 403 (for storing "objects" in the OLE2 technology) includes an image-editing-application-identifying-information storing portion 404 for uniquely recognizing the image editing application for supplying image data by inter-application communication, an image-position-data storing portion 405 for storing information relating to the position and the size of image data in the document data, a display-data storing portion 406 for storing image data to be displayed on the display device 304, and an image-data storing portion 407 for storing image data to be used by the image editing application assigned by the image-editing-application-identifying-information storing portion 404 (image data of a format not supported by the document editing application may be started, this image data being also called "native data" in the OLE2 technology, which data is not limited to image data).
Reference numeral 408 represents a portion for storing other data which are not important in the description of the conventional system. When a plurality of images are included within a document, the storing portion 408 includes image-editing-application-data storing portions corresponding to the plurality of images.
In current image editing applications, samples of document data files having a structure as shown in FIG. 15 are, in most cases, included in the application software. The user can easily form a high-quality document without starting the entire design from scratch by correcting a text in one of such sample documents and replacing images.
FIG. 16 illustrates a user interface picture surface of the conventional document editing application 319 displayed on the display device 304.
In FIG. 16, a window 501 serves as the frame of the document editing application 319. Reference numeral 502 represents a document 1 which includes a text which is input through the input device 306, such as a keyboard, by the user or included by the developer, and an image received by inter-application communication by the image editing application 321 started as the OLE server and displayed on a image display region 503. Reference numeral 504 represents a "Save" button for inputting a command to preserve edited document data as a file. Reference numeral 505 represents an "Open" button for opening a document file on the window 501 to provide a state of capable of being edited. An "Insert Object" button 506 is used for inputting a command to insert an object of another OLE server application in the document (the term "object" in this embodiment conforms to the definition in the OLE2 technology).
FIG. 17 illustrates a user interface picture surface of the image filing application 320 displayed on the display device 304. In FIG. 17, a summary of image files retrieved according to keyword retrieval or the like from among the image data file group 330 stored in the secondary storage unit 308 is displayed. A window 601 serves as the frame of the image filing application. Reference numeral 602 represents a reduced-image display area for the retrieved image file.
FIG. 18 illustrates a user interface picture surface of the image editing application 321 for supplying image data to another application as the OLE server in the document editing system.
In FIG. 18, reference numeral 701 represents the frame window of the image editing application. A window 702 displays image data being edited. Buttons 703-713 are used for inputting execution commands for the respective image editing functions constituting the image editing function group 328. Reference numeral 703 represents a button for requesting execution of gradation processing. When the user clicks this button using the mouse, the image editing application 321 performs gradation processing (processing for degraded spatial resolution of an image) for the image data displayed in the window 702.
Reference numeral 704 represents a button for requesting execution for sharpening processing. When the user clicks this button using the mouse, the image editing application 321 performs sharpening processing (processing for sharpening edges of the image) for the image data displayed in the window 702. Reference numeral 705 represents a button for requesting execution of luminance adjusting processing. When the user clicks this button using the mouse, the image editing application 321 performs luminance adjusting processing (processing for appropriately correcting the luminance of the image) for the image data displayed in the window 702. Reference numeral 706 represents a button for requesting execution of color adjustment processing. When the user clicks this button using the mouse, the image editing application 321 performs color adjustment processing (processing for appropriately adjusting colors of the image) for the image data displayed in the window 702.
Reference numeral 707 represents a button for requesting execution of background removal processing. When the user clicks this button using the mouse, the image editing application 321 performs background removal processing (processing for removing the background of a personal image or the like) for the image data displayed in the window 702. Reference numeral 709 represents a button for requesting execution of logo processing. When the user clicks this button using the mouse, the image editing application 321 performs logo processing (processing for forming a logo by segmenting a character portion from an image including characters together with a photographed object and then decorating the characters) for the image data displayed in the window 702.
Reference numeral 710 represents a button for requesting execution of noise provision processing. When the user clicks this button using the mouse, the image editing application 321 peforms noise provision processing (processing for providing the image with noise to form a pictorial image) for the image data displayed in the window 702. Reference numeral 711 represents a button for requesting execution of deformation processing. When the user clicks this button using the mouse, the image editing application 321 performs deformation processing (processing for deforming the image) for the image data displayed in the window 702. Reference numeral 712 represents a button for requesting execution of reversal processing. When the user clicks this button using the mouse, the image editing application 321 performs reversal processing (processing for reversing the luminance of the image) for the image data displayed in the window 702.
In the conventional document editing system having the above-described configuration, when the user performs double clicking of the image 503 within the document using the mouse, the image-editing-application starting function 324 of the document editing application 319 starts the image editing application 321 for supplying image data as the OLE server application by uniquely recognizing the image data by referring to the contents of the image-editing-application-identifying-information storing portion 404, and makes the image display region 503 a user interface region of the image editing application 321.
When being started as the OLE server by the OLE container application, the image editing application 321 provides a state in which the user interface control function 327 accepts a mouse input from the user by making the image display region 503 its own user interface region, and adds predetermined menus necessary for image editing to a menu display region 507. In the OLE2 technology, a state in which the image editing application 321 is started within the container application in the above-described manner is called an "in-place active" state.
FIG. 19 illustrates a manner in which the image editing application 321 is started in the in-place active state within the document editing application 319. In the in-place active state shown in FIG. 19, hatching is displayed around the image display region 503, and predetermined menus for command inputs to the image editing application 321 are displayed on the menu display region 507 to provide a command-input waiting state.
On the other hand, when the image editing application 321 selects an arbitrary image by assigning a reduced-image display area for the image in the image filing application 320 in the in-place active state by depressing a mouse button, drags the selected image and drops it onto the image display region of the document editing application 319 using the mouse, the image filing application 320 transmits image data of the selected file to the image editing application 321 having been started in the in-place active state. Upon reception of the image data, the image-data mapping function 325 of the image editing application 321 maps the received image on the image displayed on the image display region 503.
FIG. 20 illustrates a state in which the image of file2.bmp shown in FIG. 17 is mapped on the original image. When the user performs mouse click of an arbitrary menu from among the image editing menus 703-712 displayed on the menu display region 507 in this state, the image-editing executing function 331 selects the image editing function corresponding to the menu subjected to a mouse click from among the image editing function group 328, and executes image editing for the image data displayed on the image display region 503.
When the user performs a mouse click of an arbitrary position other than the image display region 503 within the window 501 of the document 1 after the execution the image editing, the image editing application 321 changes from the in-place active state into an inactive state. At that time, the image editing application 321 transmits display data as the result of editing the document by editing application 319.
On the other hand, the document editing application 319 displays the received image data as the result of editing in the image display region 503. In the document editing application 319, when the necessity to preserve data arises, for example, by the user's input of a command to request to preserve data, the data preserving/reading function 322 of the document editing application 319 preserves corresponding data of the document in the header-data storing portion 401 and the text-data storing portion 402, and requests the image editing application 321 to preserve data in the image-editing-application-data storing portion 201.
In response to this request, the data preserving/reading function 326 of the image editing application 321 preserves data in the image-editing-application-data storing portion 201 in the form shown FIG. 15.
However, the conventional document editing system is very difficult to deal with for a user who is unfamiliar with image editing, and has the following problems:
(1) Since the image editing application started from the document editing application as the OLE server displays predetermined menus, a large number of menus are displayed in order to deal with all images for all kinds of document data. There is a great burden on the user to select an image editing function suitable for the image to be edited on the document being edited. PA1 (2) Since image data includes a large amount of imformation, the image data occupies a large area of the storage medium, and accordingly a large amount of time is required for reading/writing of data from/to the recording medium. In order to overcome such a problem, it is necessary to store image data in small a size as possible. When the object of the use of the image data is uncertain, it is impossible to reduce the image size because the required resolution of the image is not known. On the other hand, image data in a document can be reduced to an optimum size based on a required resolution because it is known how the image is used in the document. However, in the conventional document editing system, it is necessary for the user to determine alone whether or not an image is to be reduced, and the size of the reduced image. This operation is very difficult for a user who is unfamiliar with image editing.